Field
This disclosure relates to the field of data processing systems. More particularly, this disclosure relates to the control of memory accesses to non-volatile memory.
Description
It is known to provide data processing systems including both volatile and non-volatile memories. It is useful within such systems to provide mechanisms which control the order of writes to data to the non-volatile memories. One way of ensuring the ordering of writes to the non-volatile memory is to make the programmer responsible for explicitly flushing cache blocks through to the non-volatile memory to ensure correct ordering. As an example, in order to provide the correct order between two writes to different cache blocks, the programmer may be made responsible for flushing (using explicit instructions to evict and write back) the cache blocks in the desired order. While such techniques may ensure the correct ordering and operation system, they result in frequency stalling of the system in order for the flushing to occur and this adversely reduces system performance.